let m = Symbol("s");

let test = {
  a: "123",
  bb: 456,
  c: {
    x: "xx",
  },
  n: [1, 2, 3],
};
test[m] = "symbol";

// 1.for...in 输出所有属性名
for (const key in test) {
  console.log(key);
}
console.log("=====================");

// 2.Object.keys() 不包含symbol属性和继承的属性
console.log(Object.keys(test));
console.log("=====================");

// 3.Object.getOwnProtertyNames() 不包含symbol属性
console.log(Object.getOwnPropertyNames(test));
console.log("=====================");

// 4.Object.getOwnPropertySymbols() 只包含symbol属性
console.log(Object.getOwnPropertySymbols(test));
console.log("=====================");

// 5.Reflect.ownKeys() 所有属性
console.log(Reflect.ownKeys(test));
